PCにおける2000年問題の1つに、1999年12月31日から2000年1月1日にかけて年越えを行なった場合の日付表示問題があります。
PCではOS(オペレーティングシステム)が起動時に、ハードウェアをコントロールするBIOS(バイオス)と呼ばれるプ
ログラム群から年月日を取得します。OSは、BIOSから日付データを取得後、OS内部のソフトタイマー(ソフト的に持つ時計)により日時のカウントアッ
プを行ないます。
BIOSが2000年に対応していない場合、BIOSはOSに「2000年」と渡すべきときに「2000年」ではなく「1900年」を渡してしまいます。そのため、OSは2000年を正確に表示する事ができなくなります。
BIOSが2000年対応しているものには、1999年から2000年に西暦が変わると西暦の上位2桁を19から20に書き換える仕掛けが入っています。この場合、2000年を越えてもOS起動時に2000年の日付をOSは取得できるため正常動作が可能となります。
例えば、MS−DOSではOSの内部カレンダーは1980年から2099年までとなっており、BIOSから1900年の日
付を取得するとOSの内部カレンダーに無い日付となるため、OSはエラーとして1980年1月4日(1980/01/04)を表示します。(2000年以
降のどの日でも、MS−DOSでは1980/01/04となります)
MS−DOSを1999年12月31日から2000年1月1日まで連続稼動させると、MS−DOSは2000年1月1日と
正常に表示します。これは、MS−DOSがBIOSから日付取得を行なうのが起動時の最初の1回だけで、以降はMS−DOSが持つソフトタイマーによって
日付のカウントアップを行なうためです。
しかし、2000年1月1日以降にMS−DOSを再起動すると、BIOSから日付取得を再度行なうため、1980年1月4日となってしまいます。